From 12f59b30edb1d946bee28fbf4c49fd348fc9f078 Mon Sep 17 00:00:00 2001 From: "kaf24@firebug.cl.cam.ac.uk" Date: Thu, 27 Apr 2006 14:06:41 +0100 Subject: [PATCH] Define __XEN_TOOLS__ when building tools. Use this to automatically build against latest Xen interface version, and to specifically define GET_XEN_GUEST_HANDLE(). Signed-off-by: Keir Fraser --- tools/Rules.mk | 2 +- xen/include/public/arch-ia64.h | 2 ++ xen/include/public/arch-x86_32.h | 2 ++ xen/include/public/arch-x86_64.h | 2 ++ xen/include/public/xen-compat.h | 2 +- 5 files changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/Rules.mk b/tools/Rules.mk index cd7793132c..8101c0c24a 100644 --- a/tools/Rules.mk +++ b/tools/Rules.mk @@ -12,7 +12,7 @@ XEN_LIBXENSTAT = $(XEN_ROOT)/tools/xenstat/libxenstat/src X11_LDPATH = -L/usr/X11R6/$(LIBDIR) -CFLAGS += -D__XEN_INTERFACE_VERSION__=0x00030201 +CFLAGS += -D__XEN_TOOLS__ %.opic: %.c $(CC) $(CPPFLAGS) -DPIC $(CFLAGS) -fPIC -c -o $@ $< diff --git a/xen/include/public/arch-ia64.h b/xen/include/public/arch-ia64.h index a52862c80e..358b16414d 100644 --- a/xen/include/public/arch-ia64.h +++ b/xen/include/public/arch-ia64.h @@ -13,7 +13,9 @@ #define DEFINE_XEN_GUEST_HANDLE(name) __DEFINE_XEN_GUEST_HANDLE(name, name) #define XEN_GUEST_HANDLE(name) __guest_handle_ ## name #define SET_XEN_GUEST_HANDLE(hnd, val) do { (hnd).p = val; } while (0) +#ifdef __XEN_TOOLS__ #define GET_XEN_GUEST_HANDLE(val, hnd) do { val = (hnd).p; } while (0) +#endif #ifndef __ASSEMBLY__ /* Guest handles for primitive C types. */ diff --git a/xen/include/public/arch-x86_32.h b/xen/include/public/arch-x86_32.h index dd4c8173d1..1f8b98baaa 100644 --- a/xen/include/public/arch-x86_32.h +++ b/xen/include/public/arch-x86_32.h @@ -15,7 +15,9 @@ #define DEFINE_XEN_GUEST_HANDLE(name) __DEFINE_XEN_GUEST_HANDLE(name, name) #define XEN_GUEST_HANDLE(name) __guest_handle_ ## name #define SET_XEN_GUEST_HANDLE(hnd, val) do { (hnd).p = val; } while (0) +#ifdef __XEN_TOOLS__ #define GET_XEN_GUEST_HANDLE(val, hnd) do { val = (hnd).p; } while (0) +#endif #ifndef __ASSEMBLY__ /* Guest handles for primitive C types. */ diff --git a/xen/include/public/arch-x86_64.h b/xen/include/public/arch-x86_64.h index cb123bf3c6..1fce53bdad 100644 --- a/xen/include/public/arch-x86_64.h +++ b/xen/include/public/arch-x86_64.h @@ -15,7 +15,9 @@ #define DEFINE_XEN_GUEST_HANDLE(name) __DEFINE_XEN_GUEST_HANDLE(name, name) #define XEN_GUEST_HANDLE(name) __guest_handle_ ## name #define SET_XEN_GUEST_HANDLE(hnd, val) do { (hnd).p = val; } while (0) +#ifdef __XEN_TOOLS__ #define GET_XEN_GUEST_HANDLE(val, hnd) do { val = (hnd).p; } while (0) +#endif #ifndef __ASSEMBLY__ /* Guest handles for primitive C types. */ diff --git a/xen/include/public/xen-compat.h b/xen/include/public/xen-compat.h index ad8a1e1b43..ffea28d520 100644 --- a/xen/include/public/xen-compat.h +++ b/xen/include/public/xen-compat.h @@ -11,7 +11,7 @@ #define __XEN_LATEST_INTERFACE_VERSION__ 0x00030201 -#if defined(__XEN__) +#if defined(__XEN__) || defined(__XEN_TOOLS__) /* Xen is built with matching headers and implements the latest interface. */ #define __XEN_INTERFACE_VERSION__ __XEN_LATEST_INTERFACE_VERSION__ #elif !defined(__XEN_INTERFACE_VERSION__) -- 2.30.2